package com.emm.yixun.marketing.service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import javax.jws.WebService;

import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;
import com.emm.yixun.common.app.base.CommonResDTO;
import com.emm.yixun.common.model.PriceScheme;
import com.emm.yixun.common.model.User;
import com.emm.yixun.common.model.dto.PriceSchemeDto;
import com.emm.yixun.common.model.dto.PriceSchemeView;

@WebService
public interface PriceSchemeServiceFacade{
     	/**
	    *新增
	    */
		Response<PriceSchemeDto> save(PriceSchemeDto dto,List<PriceSchemeView> list,User user) throws Exception;
		
		/**
		*修改,当selective=true时修改非空列,当selective=false修改所有列
		*/
		Response<Integer> updateByPrimaryKey(PriceSchemeDto dto,Boolean selective);
		
		/**
		 *逻辑删除
		 */
		Response<Integer> deleteByPrimaryKey(Long id);
		
		/**
		 *主键查询
		 */
		Response<PriceScheme> findById(Long id);
		
		/**
		 *主键查询
		 */
		Response<PriceScheme> findWithOutDelById(Long id);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<PriceScheme> findByDto(PriceSchemeDto dto);
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<PriceScheme> findPageByDto(PriceSchemeDto dto,Integer begin,Integer row);
		/**
		* 方法描述 : 查询当前节点下面所有的房间 和车位
		* 创建者：ThinkPad 
		* 项目名称： emm-marketing-api
		* 类名： PriceSchemeServiceFacade.java
		* 版本： v1.0
		* 创建时间： 2016年6月24日 上午10:51:50
		* @param treeId
		* @return ResponseList<PriceSchemeView>
		 */
		ResponseList<PriceSchemeView> findRoomList(String treeId,String bid);
		
		
		String strByCarPort(Long id,Long level);
		/**
		* 方法描述 : 根据主键ID返回Treeid
		* 创建者：ThinkPad 
		* 项目名称： emm-marketing-api
		* 类名： PriceSchemeServiceFacade.java
		* 版本： v1.0
		* 创建时间： 2016年6月25日 下午5:45:42
		* @param id
		* @return String
		 */
		String findTreeIdByBesId(Long id);
		/**
		* 方法描述 : 定时任务,价格方案已审核通过,并且设置了执行时间,改状态为已生效
		* 创建者：ThinkPad 
		* 项目名称： emm-marketing-api
		* 类名： PriceSchemeServiceFacade.java
		* 版本： v1.0
		* 创建时间： 2016年6月27日 上午10:23:50 void
		 */
		public void taskRun(Long id);
		/**
		* 方法描述 : 查询房间价格最大的浮动范围
		* 创建者：ThinkPad 
		* 项目名称： emm-marketing-api
		* 类名： PriceSchemeServiceFacade.java
		* 版本： v1.0
		* 创建时间： 2016年7月27日 下午4:09:33
		* @return Response<BigDecimal>
		 */
		public Response<BigDecimal> findPriceByRoomId(Long roomId,Long payDepositId, Long subscribeId);
		
		/**
		 * 价格方案消息
		 * @param priceSchemeDto
		 * @return
		 */
		public CommonResDTO addNotice_JGFA(PriceSchemeDto priceSchemeDto, Map<String, Object> managerMap, String procInstId);
		
}

